package com.orm.mapping.xmltag;


// 终端节点，叶子节点
public class IfSqlNode implements SqlNode {
	private String sqlContent;   // if 条件内的正文
	private String test;      // 测试条件 ，只准写对象.属性 形式，判断是否 == null，不为null时添加 节点，否则不添加
	
	
	public IfSqlNode(String sqlContent, String test) {
		this.sqlContent = sqlContent;
		this.test = test;
	}
	
	@Override
	public String apply(DynamicContext context) {
		Object val = null;
		val = context.getValue(test);
		
		if(val == null){
			return "";
		}
		
		if (val instanceof String) {   //不需要判断null
			if (!((String) val).isEmpty()) {
				return sqlContent;
			}
			return "";
		}else{
			return sqlContent;
		}
	}
}
